home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / bin / X11 / xclnt < prev    next >
Text File  |  1995-07-17  |  10KB  |  568 lines

  1. :
  2. MAXWHEELS=16
  3. PATH=/usr/skunk/bin:/usr/skunk/bin/X11:$PATH
  4. export PATH
  5. LIB=/usr/skunk/pics
  6. SPLINES=/usr/skunk/lib/splines
  7. PROG=$0
  8. limit=-1
  9. round=1
  10. bdemo=
  11. cdemo=
  12. ddemo=
  13. gdemo=
  14. l2demo=
  15. m2demo=
  16. j2demo=
  17. l3demo=
  18. m3demo=
  19. j3demo=
  20. l4demo=
  21. m4demo=
  22. j4demo=
  23. m5demo=
  24. l5demo=
  25. j5demo=
  26. l6demo=
  27. j6demo=
  28. l7demo=
  29. j7demo=
  30. ldemo=
  31. mdemo=
  32. jdemo=
  33. pdemo=
  34. hdemo=
  35. sdemo=
  36. qflag=
  37. select=true
  38. quiet=
  39. restor=1
  40.  
  41. usage() {
  42.     echo "\nUsage: $PROG [-QRqbcdghkmpsu]"
  43.     echo "\tWhere -q queries for desired demos"
  44.     echo "\t\t-b indicates spline curve demos"
  45.     echo "\t\t-c indicates madness curve demos"
  46.     echo "\t\t-d indicates dust demos"
  47.     echo "\t\t-g indicates topographic demos"
  48.     echo "\t\t-h indicates heart demos"
  49.     echo "\t\t-j indicates Julia set demos"
  50.     echo "\t\t-l indicates Lyapunov set demos"
  51.     echo "\t\t-m indicates Mandelbrot set demos"
  52.     echo "\t\t-p indicates Iterated Parametric Equations demos"
  53.     echo "\t\t-s indicates stars demos"
  54.     echo "\t\t-Q indicates quiet mode"
  55.     echo "\t\t-R indicates do not restore screen saving mode"
  56.     echo "\t\t-u displays this message"
  57.     echo "\n$PROG is a shell script front-end for several graphical X clients"
  58.     echo "written by Ronald Joe Record. When invoked with no arguments, it"
  59.     echo "cycles through all of the clients in a finite amount of time."
  60.     echo "In this way, $PROG makes an excellent rolling demo.\n"
  61. }
  62.  
  63. while case "$1" in
  64.     -b|spline|splines) bdemo=1
  65.                     select=
  66.         ;;
  67.     -c|curve|curves) cdemo=1
  68.                     select=
  69.         ;;
  70.     -d|spore|spores) ddemo=1
  71.                     select=
  72.         ;;
  73.     -g|midpt|-midpt) gdemo=1
  74.                     select=
  75.         ;;
  76.     -j7|julia7) j7demo=1
  77.                     select=
  78.         ;;
  79.     -j6|julia6) j6demo=1
  80.                     select=
  81.         ;;
  82.     -l6|lyap6) l6demo=1
  83.                     select=
  84.         ;;
  85.     -l7|lyap7) l7demo=1
  86.                     select=
  87.         ;;
  88.     -j5|julia5) j5demo=1
  89.                     select=
  90.         ;;
  91.     -l5|lyap5) l5demo=1
  92.                     select=
  93.         ;;
  94.     -m5|mandel5) m5demo=1
  95.                     select=
  96.         ;;
  97.     -j3|julia3) j3demo=1
  98.                     select=
  99.         ;;
  100.     -l3|lyap3) l3demo=1
  101.                     select=
  102.         ;;
  103.     -m3|mandel3) m3demo=1
  104.                     select=
  105.         ;;
  106.     -j4|julia4) j4demo=1
  107.                     select=
  108.         ;;
  109.     -l4|lyap4) l4demo=1
  110.                     select=
  111.         ;;
  112.     -m4|mandel4) m4demo=1
  113.                     select=
  114.         ;;
  115.     -j2|julia2) j2demo=1
  116.                     select=
  117.         ;;
  118.     -l2|lyap2) l2demo=1
  119.                     select=
  120.         ;;
  121.     -m2|mandel2) m2demo=1
  122.                     select=
  123.         ;;
  124.     -j|julia) jdemo=1
  125.                     select=
  126.         ;;
  127.     -l|lyap) ldemo=1
  128.                     select=
  129.         ;;
  130.     -m|mandel) mdemo=1
  131.                     select=
  132.         ;;
  133.     -p|hop) pdemo=1
  134.                     select=
  135.         ;;
  136.     -h|heart|madness) hdemo=1
  137.                     select=
  138.         ;;
  139.     -s|stars|-stars) sdemo=1
  140.                     select=
  141.         ;;
  142.     -Q|quiet|-quiet) quiet=1
  143.         ;;
  144.     -q|query|-query) qflag=1
  145.         ;;
  146.     -R|restor|-restor) restor=
  147.         ;;
  148.     -limit) limit=$2
  149.             shift
  150.             ;;
  151.     -u|usage|-usage) usage
  152.             exit 1
  153.             ;;
  154.     "") break
  155.         ;;
  156.     esac
  157. do
  158.     shift
  159. done
  160.  
  161. [ "$quiet" ] || {
  162.     echo "Welcome to the xclnt demo script, written by Ronald Joe Record."
  163.     echo "It is `date`."
  164.     echo "The xclnt demo will begin."
  165. }
  166.  
  167. if [ "$qflag" ] && [ "$select" ]
  168. then
  169.     while echo "Do you want the heart drawing demo ? (y/n) \c"
  170.     do
  171.         read answer
  172.         [ "$answer" = "y" ] && {
  173.             hdemo=1
  174.             break
  175.         }
  176.         [ "$answer" = "n" ] && break
  177.     done
  178.     while echo "Do you want the spline curve drawing demos ? (y/n) \c"
  179.     do
  180.         read answer
  181.         [ "$answer" = "y" ] && {
  182.             bdemo=1
  183.             break
  184.         }
  185.         [ "$answer" = "n" ] && break
  186.     done
  187.     while echo "Do you want the madness curve drawing demos ? (y/n) \c"
  188.     do
  189.         read answer
  190.         [ "$answer" = "y" ] && {
  191.             cdemo=1
  192.             break
  193.         }
  194.         [ "$answer" = "n" ] && break
  195.     done
  196.     while echo "Do you want the aggregating particle demos ? (y/n) \c"
  197.     do
  198.         read answer
  199.         [ "$answer" = "y" ] && {
  200.             ddemo=1
  201.             break
  202.         }
  203.         [ "$answer" = "n" ] && break
  204.     done
  205.     while echo "Do you want the artificial landscape drawing demos ? (y/n) \c"
  206.     do
  207.         read answer
  208.         [ "$answer" = "y" ] && {
  209.             gdemo=1
  210.             break
  211.         }
  212.         [ "$answer" = "n" ] && break
  213.     done
  214.     while echo "Do you want the Julia set drawing demos ? (y/n) \c"
  215.     do
  216.         read answer
  217.         [ "$answer" = "y" ] && {
  218.             jdemo=1
  219.             j2demo=1
  220.             j3demo=1
  221.             j4demo=1
  222.             j5demo=1
  223.             j6demo=1
  224.             j7demo=1
  225.             break
  226.         }
  227.         [ "$answer" = "n" ] && break
  228.     done
  229.     while echo "Do you want the Lyapunov set drawing demos ? (y/n) \c"
  230.     do
  231.         read answer
  232.         [ "$answer" = "y" ] && {
  233.             ldemo=1
  234.             l2demo=1
  235.             l3demo=1
  236.             l4demo=1
  237.             l5demo=1
  238.             l6demo=1
  239.             l7demo=1
  240.             break
  241.         }
  242.         [ "$answer" = "n" ] && break
  243.     done
  244.     while echo "Do you want the Mandelbrot set drawing demos ? (y/n) \c"
  245.     do
  246.         read answer
  247.         [ "$answer" = "y" ] && {
  248.             mdemo=1
  249.             m2demo=1
  250.             m3demo=1
  251.             m4demo=1
  252.             m5demo=1
  253.             break
  254.         }
  255.         [ "$answer" = "n" ] && break
  256.     done
  257.     while echo "Do you want the stars demos ? (y/n) \c"
  258.     do
  259.         read answer
  260.         [ "$answer" = "y" ] && {
  261.             sdemo=1
  262.             break
  263.         }
  264.         [ "$answer" = "n" ] && break
  265.     done
  266.     while echo "Do you want the parametric equations demo ? (y/n) \c"
  267.     do
  268.         read answer
  269.         [ "$answer" = "y" ] && {
  270.             pdemo=1
  271.             break
  272.         }
  273.         [ "$answer" = "n" ] && break
  274.     done
  275. else
  276.     [ "$select" ] && {
  277.         bdemo=1
  278.         cdemo=1
  279.         ddemo=1
  280.         gdemo=1
  281.         jdemo=1
  282.         j2demo=1
  283.         j3demo=1
  284.         j4demo=1
  285.         j5demo=1
  286.         j6demo=1
  287.         j7demo=1
  288.         ldemo=1
  289.         l2demo=1
  290.         l3demo=1
  291.         l4demo=1
  292.         l5demo=1
  293.         l6demo=1
  294.         l7demo=1
  295.         mdemo=1
  296.         m2demo=1
  297.         m3demo=1
  298.         m4demo=1
  299.         m5demo=1
  300.         pdemo=1
  301.         hdemo=1
  302.         sdemo=1
  303.     }
  304. fi
  305.  
  306. trap '/usr/bin/X11/xset s default; rm -f /tmp/xclnt_stop; exit 1' 1 2 3 15
  307. echo "kill -15 $$" > /tmp/xclnt_stop
  308. /usr/bin/X11/xset s off
  309. xroot
  310.  
  311. while [ $limit -ne 0 ]
  312. do
  313.     [ "$ldemo" ] && {
  314.         xroot -l
  315.         for i in $LIB/lyap/*
  316.         do
  317.             wheel=`random $MAXWHEELS`
  318.             lyap -c $wheel -d -i $i -Delay 0
  319.         done
  320.     }
  321.     [ "$jdemo" ] && {
  322.         xroot -j
  323.         for i in $LIB/julia/*
  324.         do
  325.             wheel=`random $MAXWHEELS`
  326.             julia -c $wheel -d 1 -i $i -Delay 0
  327.         done
  328.     }
  329.     [ "$mdemo" ] && {
  330.         xroot -j
  331.         for i in $LIB/mandel/*
  332.         do
  333.             wheel=`random $MAXWHEELS`
  334.             mandel -c $wheel -d 1 -i $i -Delay 0
  335.         done
  336.     }
  337.     [ "$cdemo" ] && {
  338.         adec=`random 8`
  339.         adec=`expr $adec + 1`
  340.         bdec=`random 8`
  341.         bdec=`expr $bdec + 1`
  342.         cdec=`random 8`
  343.         cdec=`expr $cdec + 1`
  344.         ddec=`random 8`
  345.         ddec=`expr $ddec + 1`
  346.         ncol=`random 2`
  347.         if [ $ncol = 0 ] 
  348.         then
  349.             ncol=2
  350.         elif [ $ncol = 1 ]
  351.         then
  352.             ncol=4
  353.         fi
  354.         madness -D -s$ncol -a 0.$adec -b 0.0$bdec -c -0.$cdec -z $ddec.0 -n 10000 -N 1 -W 512 -H 512
  355.     }
  356.     [ "$hdemo" ] && madness -A -D -T 0.005 -N 20 -W 1000 -H 800
  357.     [ "$gdemo" ] && {
  358.          xroot -s
  359.          wheel=`random $MAXWHEELS`
  360.          beta=`random 75`
  361.          beta=`expr $beta + 25`
  362.          level=`random 50`
  363.          xtopo -d -c $wheel -H 0.$beta -S 0.$level
  364.     }
  365.     [ "$sdemo" ] && {
  366.         xroot -s
  367.         xvel=`random 50`
  368.         xvel=`expr $xvel + 1`
  369.         yvel=`random 30`
  370.         yvel=`expr $yvel + 1`
  371.         wiggle=`random 2`
  372.         reverse=`random 2`
  373.         [ $wiggle = 1 ] && X=-X
  374.         [ $reverse = 1 ] && R=-r
  375.         stars -F -D 600 -B 4 -a $xvel -b $yvel -w $X $R
  376.     }
  377.     [ "$l6demo" ] && {
  378.         xroot -l
  379.         for i in $LIB/lyap6/*
  380.         do
  381.             wheel=`random $MAXWHEELS`
  382.             lyap -c $wheel -d -i $i -Delay 0
  383.         done
  384.     }
  385.     [ "$bdemo" ] && {
  386.         wheel=`random $MAXWHEELS`
  387.         $SPLINES/lines -n 1 -c $wheel
  388.     }
  389.     [ "$j5demo" ] && {
  390.         xroot -j
  391.         for i in $LIB/julia5/*
  392.         do
  393.             wheel=`random $MAXWHEELS`
  394.             julia -c $wheel -d 1 -i $i -Delay 0
  395.         done
  396.     }
  397.     [ "$cdemo" ] && {
  398.         this=`random 1`
  399.         if [ $this = 0 ] 
  400.         then
  401.             madness -D -s4 -a 0.6 -b 0.04 -c -0.8 -z 4.0 -n 20000 -N 1 -W 512 -H 512
  402.         else
  403.             madness -D -s2 -a 0.6 -b 0.05 -c -0.8 -z 2.0 -n 20000 -N 1 -W 512 -H 512
  404.         fi
  405.     }
  406.     [ "$pdemo" ] && {
  407.        mode=`random 6`
  408.        hop -D $mode
  409.     }
  410.     [ "$hdemo" ] && madness -A -D -T 0.006 -N 6 -R -T 6 -N 20 -W 1000 -H 800
  411.     [ "$cdemo" ] && madness -D -s 4 -N 1 -n 20000 -W 512 -H 512
  412.     [ "$j6demo" ] && {
  413.         xroot -j
  414.         for i in $LIB/julia6/*
  415.         do
  416.             wheel=`random $MAXWHEELS`
  417.             julia -c $wheel -d 1 -i $i -Delay 0
  418.         done
  419.     }
  420.     [ "$bdemo" ] && {
  421.         wheel=`random $MAXWHEELS`
  422.         $SPLINES/lying -l 4096 -n 1 -c $wheel
  423.     }
  424.     [ "$j7demo" ] && {
  425.         xroot -j
  426.         for i in $LIB/julia7/*
  427.         do
  428.             wheel=`random $MAXWHEELS`
  429.             julia -c $wheel -d 1 -i $i -Delay 0
  430.         done
  431.     }
  432.     [ "$l2demo" ] && {
  433.         xroot -l
  434.         for i in $LIB/lyap2/*
  435.         do
  436.             wheel=`random $MAXWHEELS`
  437.             lyap -c $wheel -d -i $i -Delay 0
  438.         done
  439.     }
  440.     [ "$m5demo" ] && {
  441.         xroot -j
  442.         for i in $LIB/mandel5/*
  443.         do
  444.             wheel=`random $MAXWHEELS`
  445.             mandel -c $wheel -d 1 -i $i -Delay 0
  446.         done
  447.     }
  448.     [ "$j3demo" ] && {
  449.         xroot -j
  450.         for i in $LIB/julia3/*
  451.         do
  452.             wheel=`random $MAXWHEELS`
  453.             julia -c $wheel -d 1 -i $i -Delay 0
  454.         done
  455.     }
  456.     [ "$l4demo" ] && {
  457.         xroot -l
  458.         for i in $LIB/lyap4/*
  459.         do
  460.             wheel=`random $MAXWHEELS`
  461.             lyap -c $wheel -d -i $i -Delay 0
  462.         done
  463.     }
  464.     [ "$m3demo" ] && {
  465.         xroot -j
  466.         for i in $LIB/mandel3/*
  467.         do
  468.             wheel=`random $MAXWHEELS`
  469.             mandel -c $wheel -d 1 -i $i -Delay 0
  470.         done
  471.     }
  472.     [ "$j4demo" ] && {
  473.         xroot -j
  474.         for i in $LIB/julia4/*
  475.         do
  476.             wheel=`random $MAXWHEELS`
  477.             julia -c $wheel -d 1 -i $i -Delay 0
  478.         done
  479.     }
  480.     [ "$l3demo" ] && {
  481.         xroot -l
  482.         for i in $LIB/lyap3/*
  483.         do
  484.             wheel=`random $MAXWHEELS`
  485.             lyap -c $wheel -d -i $i -Delay 0
  486.         done
  487.     }
  488.     [ "$bdemo" ] && {
  489.         wheel=`random $MAXWHEELS`
  490.         $SPLINES/string -l 1024 -n 1 -c $wheel
  491.     }
  492.     [ "$m4demo" ] && {
  493.         xroot -j
  494.         for i in $LIB/mandel4/*
  495.         do
  496.             wheel=`random $MAXWHEELS`
  497.             mandel -c $wheel -d 1 -i $i -Delay 0
  498.         done
  499.     }
  500.     [ "$j2demo" ] && {
  501.         xroot -j
  502.         for i in $LIB/julia2/*
  503.         do
  504.             wheel=`random $MAXWHEELS`
  505.             julia -c $wheel -d 1 -i $i -Delay 0
  506.         done
  507.     }
  508.     [ "$l5demo" ] && {
  509.         xroot -l
  510.         for i in $LIB/lyap5/*
  511.         do
  512.             wheel=`random $MAXWHEELS`
  513.             lyap -c $wheel -d -i $i -Delay 0
  514.         done
  515.     }
  516.     [ "$bdemo" ] && {
  517.         wheel=`random $MAXWHEELS`
  518.         $SPLINES/sticks -l 4096 -n 1 -c $wheel
  519.     }
  520.     [ "$l7demo" ] && {
  521.         xroot -l
  522.         for i in $LIB/lyap7/*
  523.         do
  524.             wheel=`random $MAXWHEELS`
  525.             lyap -c $wheel -d -i $i -Delay 0
  526.         done
  527.     }
  528.     [ "$m2demo" ] && {
  529.         xroot -j
  530.         for i in $LIB/mandel2/*
  531.         do
  532.             wheel=`random $MAXWHEELS`
  533.             mandel -c $wheel -d 1 -i $i -Delay 0
  534.         done
  535.     }
  536.     [ "$sdemo" ] && stars -F -D 1000
  537.     [ "$bdemo" ] && {
  538.         wheel=`random $MAXWHEELS`
  539.         $SPLINES/strips -l 4096 -n 1 -c $wheel
  540.     }
  541.     [ "$sdemo" ] && stars -F -D 600 -B `random 4` -a 2 -b 1
  542.     [ "$ddemo" ] && {
  543.         wheel=`random 2`
  544.         if [ $wheel = 0 ] 
  545.         then
  546.             xroot -h
  547.         elif [ $wheel = 1 ]
  548.         then
  549.             xroot -k
  550.         fi
  551.         wheel=`random $MAXWHEELS`
  552.         balls=`random 5`
  553.         balls=`expr $balls + 1`
  554.         spore -d -c $wheel -F -N $balls
  555.     }
  556.     [ "$bdemo" ] && {
  557.         wheel=`random $MAXWHEELS`
  558.         $SPLINES/flying -l 4096 -n 1 -c $wheel
  559.     }
  560.     limit=`expr $limit - 1`
  561.     [ "$quiet" ] || {
  562.         echo "The xclnt demo completes round $round at `date`"
  563.         round=`expr $round + 1`
  564.     }
  565. done
  566.  
  567. [ "$restor" ] && /usr/bin/X11/xset s default
  568.